package BL;

import BE.BEProducto;
import DA.DAReporteStock;
import groovy.model.DefaultTableModel;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.JTable;

public class BLReporteStock 
{
    public void buscaProd (String nombre,int codProd, int idTipo, int idProveedor,
                           JTable tblDatos, int tipoBusqueda)
    {
        DAReporteStock dARepStock = new DAReporteStock();
        ResultSet rs = null;

        BEProducto producto = new BEProducto();
        producto.setNombre(nombre);
        producto.setIdTipoProducto(idTipo);
        producto.setIdProveedor(idProveedor);
        producto.setIdProducto(codProd);

        rs = dARepStock.buscarProd(producto,tipoBusqueda);
        this.llenaTabla(rs, tblDatos);
    }
    
    public void llenaTabla (ResultSet rs, JTable tblDatos)
    {
        BLModelo modelo = new BLModelo();
        tblDatos.setModel(modelo);

        modelo.addColumn("Cod. Producto");
        modelo.addColumn("Producto");
        modelo.addColumn("Tipo Producto");
        modelo.addColumn("Cantidad Disponible");
        

        //Ocultar columna ID
        //tblDatos.getColumnModel().getColumn(0).setMaxWidth(0);
        //tblDatos.getColumnModel().getColumn(0).setMinWidth(0);
        //tblDatos.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
        //tblDatos.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);

        try
        {
            while (rs.next())
            {
                Object [] fila = new Object[4];
                fila[0] = rs.getObject("IDPRODUCTO");
                fila[1] = rs.getObject("NOMBRE");
                fila[2] = rs.getObject("TIPO");
                fila[3] = rs.getObject("CANTIDAD");
                

                modelo.addRow(fila);
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,"Error al llenar la tabla",
                                          "Error",JOptionPane.ERROR_MESSAGE);
        }
    }
    
    public void limpiaTabla (JTable tblDatos)
    {
        BLModelo modelo = new BLModelo();
        tblDatos.setModel(modelo);

        modelo.addColumn("Cod. Producto");
        modelo.addColumn("Producto");
        modelo.addColumn("Tipo Producto");
        modelo.addColumn("Cantidad Disponible");
       
    }
}
